home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / dev / lang / pcq12b.lzh / Include / Exec / Lists.i < prev    next >
Text File  |  1990-08-27  |  1KB  |  63 lines

  1. {
  2.     Lists.i for PCQ Pascal
  3.  
  4.     This file defines Exec system lists, which are used to link
  5.     various things.  Exec provides several routines to handle list
  6.     processing (defined at the bottom of this file), so you can
  7.     use these routines to save yourself the trouble of writing a list
  8.     package.
  9. }
  10.  
  11. {$I "Include:Exec/Nodes.i"}
  12.  
  13. Type
  14.  
  15. { normal, full featured list }
  16.  
  17.     List = record
  18.     lh_Head        : NodePtr;
  19.     lh_Tail        : NodePtr;
  20.     lh_TailPred    : NodePtr;
  21.     lh_Type        : Byte;
  22.     l_pad        : Byte;
  23.     end;
  24.     ListPtr = ^List;
  25.  
  26. { minimum list -- no type checking possible }
  27.  
  28.     MinList = record
  29.     mlh_Head    : MinNodePtr;
  30.     mlh_Tail    : MinNodePtr;
  31.     mlh_TailPred    : MinNodePtr;
  32.     end;
  33.     MinListPtr = ^MinList;
  34.  
  35.  
  36. Procedure AddHead(list : ListPtr; node : NodePtr);
  37.     External;
  38.  
  39. Procedure AddTail(list : ListPtr; node : NodePtr);
  40.     External;
  41.  
  42. Procedure Enqueue(list : ListPtr; node : NodePtr);
  43.     External;
  44.  
  45. Function FindName(start : ListPtr; name : String) : NodePtr;
  46.     External;
  47.  
  48. Procedure Insert(list : ListPtr; node, listNode : NodePtr);
  49.     External;
  50.  
  51. Procedure NewList(list : ListPtr);
  52.     External;
  53.  
  54. Function RemHead(list : ListPtr) : NodePtr;
  55.     External;
  56.  
  57. Procedure Remove(node : NodePtr);
  58.     External;
  59.  
  60. Function RemTail(list : ListPtr) : NodePtr;
  61.     External;
  62.  
  63.